// custom libraries
#include "..\..\include\graphics\graphics_renderer.h"
#include "..\..\include\game_manager.h"
#include "..\..\include\user_controller.h"
#include "..\..\include\game_state\end_state.h" // matching header


// ==================================
//     SINGLETON IMPLEMENTATION
// ==================================

EndState* EndState::Instance()
{
	// Meyers singleton
	static EndState obj;
	return &obj;
}

EndState::EndState() {}
EndState::EndState(const EndState& other) {}
EndState::~EndState() {}
EndState& EndState::operator=(const EndState& other) { return *this; }


// ==================================
//         EMPTY FUNCTIONS
// ==================================

// Upon reaching the end of the game, there should be no more activity (on the
// part of the game states); as such, these functions only server the purpose 
// of helping the logger keep track of when the state gets opened and closed.

void EndState::onOpen() {}
void EndState::onClose() {}

void EndState::onEnter() {}
void EndState::onExit() {}

void EndState::update(GameManager* game, UserController* userController) {}
void EndState::render(GraphicsRenderer* graphicsRenderer) {}
